package val.to.uploader.old;

import android.os.AsyncTask;

public class ImgurUploader {//extends AsyncTask<Void, Void, Void> implements IPhotoUploader{

//	private Uri mImageUri;
//	private Context mCtx;
//	private String mComment;
//	private boolean mResult = true;
//	private IPhotoUploadListener mListener;
//	
//	public ImgurUploader(Context ctx, Uri imageUri, String comment, IPhotoUploadListener listener){
//		mImageUri = imageUri;
//		mCtx = ctx;
//		mComment = comment;
//		mListener = listener;
//	}
//	
//	
//	@Override
//	public void cancel() {
//		this.cancel(true);
//	}
//
//	
//	@Override
//	protected void onPreExecute() {
//		super.onPreExecute();
//		mListener.onBeforeUpload();
//	}
//
//	@Override
//	protected void onPostExecute(Void result) {
//		super.onPostExecute(result);
//		if (mResult){
//			mListener.onPhotoUploaded();
//		}
//		else{
//			mListener.onUploadFailed();
//		}
//	}
//
//	
//	@Override
//	protected Void doInBackground(Void... params) {
//		try {
//			JSONObject response = null;
//			try {
//				response = uploadPhoto();
//			} 
//			catch (IOException e) {
//				e.printStackTrace();
//				return null;
//			}
//			
//			
//			if (isCancelled()){
//				return null;
//			}
//
//			PhotoPost photo = ParseImgurResponse(response);
//			mResult = ValtoServices.postPhoto(photo);
//
//		} 
//		catch (JSONException e) {
//			e.printStackTrace();
//		}
//		
//		return null;
//	}
//	
//	private JSONObject uploadPhoto() throws JSONException, IOException {
//		// TODO : Figure out GIF
//		byte[] image = null;
//		try {
//			image = Utility.scaleImage(mCtx, mImageUri);
//			// String res =
//			// val.to.common.HttpPost.openUrl("http://api.imgur.com/2/upload.json",
//			// image, "f4bc49b62e2d1896f130ea4453e72531");
//			// return new JSONObject(res);
//		} catch (IOException e1) {
//			// TODO Auto-generated catch block
//			e1.printStackTrace();
//		}
//		// return null;
//		// HttpClient client = new DefaultHttpClient();
//		// HttpPost post = new
//		// HttpPost("http://api.imgur.com/2/upload.json");
//		//
//		// MultipartEntity reqEntity = new MultipartEntity();
//		// reqEntity.addPart("type", new StringBody("file"));
//		// reqEntity.addPart("key", new
//		// StringBody("f4bc49b62e2d1896f130ea4453e72531"));
//		// reqEntity.addPart("image", new ByteArrayBody(image, "test.jpg"));
//		//
//		// post.setEntity(reqEntity); HttpResponse response =
//		// client.execute(post);
//		//
//		// HttpEntity resEntity = response.getEntity();
//		// if (resEntity != null) {
//		// resEntity.consumeContent();
//		// }
//		//
//		// String result = EntityUtils.toString(resEntity);
//		//
//		// return new JSONObject(result);
//
//		URL url = new URL("http://api.imgur.com/2/upload.json");
//
//		// encodes picture with Base64 and inserts api key
//		String data = URLEncoder.encode("image", "UTF-8")
//				+ "="
//				+ Base64.encodeToUrlString(image, false)
//				+ "&"
//				+ URLEncoder.encode("key", "UTF-8")
//				+ "="
//				+ URLEncoder.encode("f4bc49b62e2d1896f130ea4453e72531",
//						"UTF-8");
//		image = null;
//
//		// opens connection and sends data
//		URLConnection conn = url.openConnection();
//		conn.setDoOutput(true);
//		conn.setDoInput(true);
//		OutputStreamWriter wr = new OutputStreamWriter(
//				conn.getOutputStream());
//		wr.write(data);
//		wr.flush();
//		data = null;
//		wr.close();
//
//		BufferedReader in = new BufferedReader(new InputStreamReader(
//				conn.getInputStream()));
//
//		String inputLine;
//		String res = "";
//
//		while ((inputLine = in.readLine()) != null)
//			res += inputLine;
//		in.close();
//
//		return new JSONObject(res);
//	}
//	
//
//	private PhotoPost ParseImgurResponse(JSONObject Response) {
//		try {
//			JSONObject upload = Response.getJSONObject("upload");
//			if (upload == null){
//				Log.e(Constants.TAG, "Invalid Imgur response.");
//				return null;
//			}
//			JSONObject links = upload.getJSONObject("links");
//			String org = links.getString("original");
//			String thumb = links.getString("small_square");
//			String largeThumb = links.getString("large_thumbnail");
//			return new PhotoPost(org, largeThumb, thumb, mComment);
//		} catch (JSONException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return null;
//	}
}
